Conveyor systems are used to transport materials or packages. They are widespread and used across a variety of industries, including but not limited to, mining, food processing, bottling and packing industries. A number of computer software packages assist in the design of conveyor systems, however, none provide a comprehensive and integrated approach to the entire process. The control of conveyors, motors and sensors is normally performed via PLC (Programmable Logic Controllers), special electronic computer defined for the control of such devices. The programming languages used for the PLCs (ladder logic, structured text, etc.) are relatively primitive, compared to Windows and Unix based object oriented programming languages such as Java, C++ and Microsoft .NET environments. The primitive programming environment does provide benefits in terms of simplicity and reliability, but increasingly, users want more integration between the operations of the conveyor devices and the back end computer systems. Additionally, because the primitive language required for the PLC is not intuitive, a skilled and experienced programmer or software engineer is required to configure or make any subsequent changes to the PLCs or the conveyors, motors, sensors, etc. controlled by the PLCs. As a result, it is expensive, inefficient and time-consuming to install or update a conveyor system.